<!DOCTYPE html>
            
<HTML>
<HEAD>
<meta name="booktitle" content="Developing Applications With Objective Caml" >
 <meta charset="ISO-8859-1"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<META name="GENERATOR" content="hevea 1.05-7 of 2000-02-24">
<META NAME="Author" CONTENT="Christian.Queinnec@lip6.fr">
<LINK rel=stylesheet type="text/css" href="videoc-ocda.css">
<script language="JavaScript" src="videoc.js"><!--
//--></script>
<TITLE>
 To Learn More
</TITLE>
</HEAD>
<BODY class="regularBody">
<A HREF="book-ora109.html"><IMG SRC ="previous_motif.gif" ALT="Previous"></A>
<A HREF="index.html"><IMG SRC ="contents_motif.gif" ALT="Contents"></A>
<A HREF="book-ora112.html"><IMG SRC ="next_motif.gif" ALT="Next"></A>
<HR>

<H2> To Learn More</H2>
The reference book on lexical analysis and parsing is known 
affectionately as the ``dragon book'', a reference to the book's cover
illustration. Its real name is
<I>Compilers: principles, techniques and tools</I>
([<A HREF="book-ora214.html#Dragon89"><CITE>ASU86</CITE></A>]). It covers all aspects of compiler design and
implementation. It explains clearly
the construction of automata matching a given context-free grammar and
the techniques to minimize it. The tools <TT>lex</TT> and <TT>yacc</TT> are
described in-depth in several books, a good reference being
[<A HREF="book-ora214.html#lexyacc"><CITE>LMB92</CITE></A>]. The interesting features of <TT>ocamllex</TT> and
<TT>ocamlyac</TT>
with respect to their original versions are the integration of the
Objective CAML language and, above all, the ability to write typed lexers and
parsers. With regard to <EM>streams</EM>, the research report by Michel
Mauny and
Daniel de Rauglaudre [<A HREF="book-ora214.html#Parser92"><CITE>MdR92</CITE></A>] gives a good description of 
the operational semantics of this extension. On the other hand,
[<A HREF="book-ora214.html#Cousineau-Mauny"><CITE>CM98</CITE></A>] shows how to build such an extension. For a
better integration of grammars within the Objective CAML language, or to
modify the grammars of the latter, we may also use the <TT>camlp4</TT>
tool found at:
<A NAME="link-camlp4"></A>


<H3> Link </H3> <HR>

<A HREF="http://caml.inria.fr/camlp4/">http://caml.inria.fr/camlp4/</A>


<HR>


<BR>
<BR>



<BR>
<BR>
<BR>
<BR>
<HR>
<A HREF="book-ora109.html"><IMG SRC ="previous_motif.gif" ALT="Previous"></A>
<A HREF="index.html"><IMG SRC ="contents_motif.gif" ALT="Contents"></A>
<A HREF="book-ora112.html"><IMG SRC ="next_motif.gif" ALT="Next"></A>
</BODY>
</HTML>
